import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtGui import QPixmap, QImageReader

picture_path = "../../res/111.jpg"

class ImageDisplay(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 创建一个 QLabel 用于显示图片
        self.label = QLabel(self)
        # 假设图片文件名为 image.jpg，需要根据实际情况修改
        # pixmap = QPixmap('test.jpg')
        global picture_path
        pixmap = QPixmap(picture_path)
        # 获取图片的原始尺寸
        original_width = pixmap.width()
        original_height = pixmap.height()
        # 获取窗口的尺寸
        window_width = self.width()
        window_height = self.height()
        # 计算缩放比例
        scale_width = window_width / original_width
        scale_height = window_height / original_height
        # 选择较小的缩放比例，确保图片完整显示在窗口内
        scale = min(scale_width, scale_height)
        # 缩放图片
        scaled_pixmap = pixmap.scaled(int(original_width * scale), int(original_height * scale))
        # 将缩放后的图片设置到 QLabel 中
        self.label.setPixmap(scaled_pixmap)
        # 调整 QLabel 的大小以适应缩放后的图片
        self.label.resize(scaled_pixmap.width(), scaled_pixmap.height())
        # 设置窗口的大小和标题
        self.setGeometry(100, 100, window_width, window_height)
        self.setWindowTitle('Image Display')
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = ImageDisplay()
    ex.resize(800, 600)  # 设置窗口的初始大小
    sys.exit(app.exec_())